#include <iostream>
using namespace std;
#include <map>

// map容器 构造和赋值
void printMap(map<int, int>& m)
{
    for (map<int, int>::iterator it = m.begin();it != m.end();it++)
    {
        cout << "key = " << (*it).first
            << "  value = " << it->second << endl;
    }
    cout << endl;
}

void test1()
{
    // 创建map容器
    map<int, int> m; // 默认构造

    // map容器中，所有元素都是pair
    m.insert(pair<int, int>(1, 10));
    m.insert(pair<int, int>(3, 40));
    m.insert(pair<int, int>(2, 90));

    // 会根据元素的键，从小到大自动排序
    printMap(m);

    // 拷贝构造
    map<int, int>m2(m);
    printMap(m2);

    // 赋值
    map<int, int>m3;
    m3 = m2;
    printMap(m3);
}

int main()
{
    test1();
    return 0;
}